<template>
  <div>
    <Form ref="formInline" :model="formInline" :rules="ruleInline" class="login">
      <h1>后台登录</h1>
      <FormItem prop="username">
        <Input type="text" v-model="formInline.username" placeholder="用户名">
          <Icon type="ios-person-outline" slot="prepend"></Icon>
        </Input>
      </FormItem>
      <FormItem prop="password">
        <Input
          type="password"
          v-model="formInline.password"
          placeholder="密码"
          @keyup.enter.native="handleSubmit('formInline')"
        >
          <Icon type="ios-lock-outline" slot="prepend"></Icon>
        </Input>
      </FormItem>
      <FormItem>
        <Button type="primary" long @click="handleSubmit('formInline')">Login</Button>
      </FormItem>
    </Form>
    <div class="version">
      <span>version：{{version}}</span>
    </div>
  </div>
</template>

<script>
import { base } from '../../router/config'
import { version } from '../../config'

export default {
  name: 'login',
  data () {
    return {
      version: `${version}`,
      formInline: {
        username: '',
        password: ''
      },
      ruleInline: {
        username: [
          { required: true, message: '请输入用户名', trigger: 'blur' }
        ],
        password: [
          { required: true, message: '请输入密码', trigger: 'blur' }
        ]
      }
    }
  },
  methods: {
    handleSubmit (name) {
      this.$refs[name].validate((valid) => {
        if (valid) {
          // 登录接口(可以注释掉先让登陆通过，以后登陆接口做好在弄)
          // this.$http.post('/account/login', this.formInline)
          //   .then(res => {
          //     // res.jwt是后端返回的 Json web token， 是token的认证  和vue全局路由守卫配合使用
          //     // JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息，以便于从资源服务器获取资源，
          //     // 也可以增加一些额外的其它业务逻辑所必须的声明信息，该token也可直接被用于认证，也可被加密。
          //     sessionStorage.setItem('auth', res.jwt)
          //     sessionStorage.setItem('user', this.formInline.username)
          //     // 登陆成功路由跳转
          //     this.$router.push(`${base}admin/user/index`)
          //   })
          this.$router.push(`${base}admin/user/index`) // 不用输入正确的密码账号就能登陆，仅供开发时使用
        } else {
          this.$Message.error('请输入用户名或密码!')
        }
      })
    }
  }
}
</script>

<style scoped lang="less">
.login {
  width: 350px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -175px;
  margin-top: -150px;
  h1 {
    text-align: center;
    padding: 20px 0;
  }
}
.version {
  text-align: center;
  position: absolute;
  right: 30px;
  bottom: 20px;
}
</style>
